import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei' #中文显示
img1=cv.imread("../imgs/letterclose.png")
img2=cv.imread("../imgs/letteropen.png")
#创建核结构
kernel=np.ones((10,10),np.uint8)
#开运算：先腐蚀后膨胀。作用是：分离物体，消除小区域。特点：消除噪点，去除小的干扰块，而不影响原来的图像
cvOpen=cv.morphologyEx(img1,cv.MORPH_OPEN,kernel)
#闭运算：先膨胀后腐蚀。作用是：消除/“闭合”物体里面的孔洞，特点：可以填充闭合区域。
cvClose=cv.morphologyEx(img1,cv.MORPH_CLOSE,kernel)
#展示在一张图中:figsize=(10,8):创建8英寸和高度为6英寸的图形
fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(10,8),dpi=100)
axes[0,0].imshow(img1)
axes[0,0].set_title("原图")
axes[0,1].imshow(cvOpen)
axes[0,1].set_title("开运算结果")
axes[1,0].imshow(img2)
axes[1,0].set_title("原图")
axes[1,1].imshow(cvClose)
axes[1,1].set_title("闭运算结果")
plt.show()
